OpenPlant Isometrics Manager Help

Report Definition File

This file contains the definitions for all reports produced by IsoExractor. IsoExtractor reports are generic reports that operate on component attributes. Reports can be inserted in the isometric or written as a machine readable text file.

A report definition is a combination of specification and a script.
  • A specification of components to report on
  • A specification of component data to report
  • Scripting for report decoration and formatting

At the top of the report file are a list of statements which describe how the report attributes are defined.

You can use these attribute descriptions (shown below) to modify existing reports if desired.
SettingDescription
REPORT Specifies the extension given to the report. The basename of the report is the same as the isometric DGN, the report is written to the IE_REPORTDIR directory.
INCLUDE Provides a rule which components are to be included in the report. There can be multiple INCLUDE lines. Any INCLUDE line satisfied includes the component in the report.
EXCLUDE Same as INCLUDE but this time to specify that a component should not be in the report. Multiple EXCLUDE lines are allowed. Any EXCLUDE line satisfied excludes the component from the report.
COLUMN <width> : <format/alignment> : <expression>
Specifies a column in the report, consists of three fields separated by a colon character. (See descriptions below):
  • <width> — Specifies the width of the column in character positions
  • <format/alignment> — Consists of a combination of:
    • L – left aligned
    • R – right aligned
    • C – centered
    • I – hang-in indent should be used for multi line column text
  • <expression> — An expression for the content of the report column. Any component attribute or string can be used.
    For Example:
    IE_DESCRIPT + UUID + "and a string"
    would concatenate the attributes IE_DESCRIPT and UUID and the string "and a string".

Report Expressions Details

SEP =<string>

When SEP is present the report is written to a text file in a machine readable format. All the content specified by the COLUMN definitions are written out separated by SEP. The text file is written to the report directory pointed to by IE_REPORTDIR. The report file uses the report name as extension. A '@' character in SEP acts as a space placeholder

NODE =<Number> Specifies the text node number in the isometric the report will be attached to.
SORTHEADERS =<boolean> Specifies if sort group headers are to be used (see: rep_sortgroups.txt)
  • 1 = use sort group header,
  • 0 = don't use sort group header.
TEXT = <expression> A TEXT statement outputs a string to the report. The expression follows the CFG format, any $(varname) construct references a drawing attibutes. A '@' character is a spaceholder for a space. TEXT entries are formatted to the currently active TEXT-FORMAT.
WRITE Write this or another report. When empty the report is written according to the COLUMN, INCLUDE, etc., statements when a report extension is specified than that report is included.
GROUP

With a GROUP statement multiple components with the same properties will be grouped in a single report line. Component quantities will be automatically accumulated. A typical GROUP entry would be:

GROUP = PARTID

SORT Sort the list on a set of attributes value. Consist of a comma separated list of attributes with an optional descending/ascending order.
Examples:
  • SORT = <attr_name:<sortspec>,<attr_name:<sortspec>
sortspec (optional) is a combination of:
  • D – Descending,
  • N – Numeric sort.
COLUMNHEADER Adds Column headers. The width of the column headers will automatically follow the width in the COLUMN statements. A '$' character can be used to insert a new line.

Example: COLUMNHEADER = Part$No., Size, Description, Qty

The following set of attributes are added by the software:
SettingDescription
SPOOLID The name of the spool (if any) a component is part of.
PARTID The part ID of the component.
CUTID The pipe cut ID a component is part of (only for pipes/bends).
IE_FIELD
  • 1 - Component is determined a field component,
  • 0 - Component is determined a shop component.
IE_LINENAME The line name.
Reserved Keywords
SettingDescription
QUANTITY The net quantity of the component, normally length for pipe/bend items, piece count for piece items. The quantity for pipes is formatted to the unit used.
SIZE1 The main component diameter. Formatted to the unit used.
SIZE2 The run size or branch size if this is different from the SIZE1.
SIZE3 The branch size if this is different from SIZE1 and SIZE2.

Multi-column or multi-page text node based reports

SettingDescription
Max-Rows Sets the maximum number of rows available for a (main) report in a page/column. The statement is optional and defaults to zero. A zero means an unlimited number of rows
Max-Cols Sets the maximum number of columns for the report in the isometric sheet. If more columns are needed the report flows over to the next isometric sheet. The statement is optional and defaults to 1.
ColumnOffset Sets the offset to use for multi-column reports
Continuation-Message Specifies the continuation message at the report end when the rest of the report flows over to another sheet. The default value is the empty string. The CONTINUATON-MESSAGE is a global setting and can not be overridden in a report. The message can be formatted like all other plain texts.
Note: Less than MAX-ROWS may be displayed in a multi column/page report. The page/column break is inserted in such a way that the last line on the page/column will always contain business data.

Formatting business data in a text node based report

Business data is data generated through the COLUMN statement. The following statements influence the formatting of business data.

SettingDescription
MARGIN Specifies the minimum distance of column text to column border. The default value is zero.
SPACING Specifies the exact distance between two report lines. If not specified or zero the spacing as defined by the text node is used.
INDENT Specifies the size of the hanging indent. Only used for multiline rows where a hangin indent is required.The default value is zero.

Formatting non-business data in a text node based report

Business data is data related to a piping component.
  • A TEXT statement (scripting) is normally used to provide some kind of report header

  • A sort or group-header can be optionally added to group components in section (like pipes, fittings, etc)

SettingDescription
TEXT-FORMAT Specifies the minimum distance of column text to column border. The default value is zero.
SORTHEADER-FORMAT Specifies the exact distance between two report lines. If not specified or zero the spacing as defined by the text node is used.
CONTINUATION-FORMAT Specifies the size of the hanging indent. Only used for multiline rows where a hangin indent is required.The default value is zero.

All format statement have the same layout. It's a comma separated list of zero or more of the following settings:

Setting

Default Value

Description
Offset = <value> 0 The offset of any TEXT entry measured from the left border of the report. The value can be metric or imperial
Boxed=<true/false> false When true a box is drawn around (non-empty) TEXT entries
Boxed Shorthand for boxed=true
Underlined=<true/false> false When true non-empty TEXT entries are underlined
Underlined Shorthand for underlined=true
Spacing=value 1mm Specifies the distance of TEXT to the underline or box. The value can be metric or imperial
Scale=<value> 1 Scales the TEXT up or down with a factor. The default font width/height is taken for the text node used for the report. The value is a decimal
Lines=<value> 1 Specifies the number of lines used for the TEXT. The value is an integer. TEXT will be centered vertically

Example: To format a text statement

TEXTFORMAT= boxed, lines = 3, offset = 20, scale=1.5, spacing=2
Note: Format statement goes into effect after its definition

Example:

  • TEXT-FORMAT= boxed
  • TEXT = This is boxed text
  • TEXT_FORMAT = underlined
  • TEXT = This is underlined text

Format statements can be specified both on a global level and on report level

Tables

The table statement specifies that a border is to be drawn around the report. This only works when a COLUMNHEADER statement is also specified for the report. The table starts at the COLUMNHEADER line and ends at the last line of business data in the same report.

  • TABLE = 0 do not create a table
  • TABLE = 1 create a table

The table can then be formatted using a TABLE-FORMAT statement that provides a comma separated list of zero or more of the following:

Setting Description
levelName = <string> Sets the name of the level the table should be on. If not specified the active level name is used.
Note: The level is created on demand
Color= <color number> The report border color. If not present the active color will be used
Weight=<number> The report border weight, if not present the active weight will be used
Style=<number> The report border style. If no present the active style is used
ByLevel =<true/false> Uses the color, weight, and style specified by level.
Note: TABLE-FORMAT is a global statement, it will be used by all report that have TABLE=1
Example

Sample Reports

The COMBI report combines the SHP and FLD report into a single report and attaches it to textnode 60 in the isometric.

REPORT = combi
  #Write the shop report
  WRITE = shop

  # insert an empty line between the reports
  TEXT-FORMAT =
  TEXT  = @

  # write the field report
  WRITE = field

  # and associate the combi report with text node 60
  NODE  = 60
END
Below is a sample report that writes shop material to a report:
    # this to include only shop material
REPORT = Shop
   INCLUDE = IE_FIELD=0
    EXCLUDE = IE_TYPE=CT_WELD

    COLUMN =  3: R : PARTID
    COLUMN = 16: R : SIZE
    COLUMN = 60: W : IE_DESCRIPT
    COLUMN = 20: R : QUANTITY

    GROUP  = PARTID
    SORT   = PARTID:N
    SORTHEADERS = 1

    TEXT-FORMAT = lines=2, boxed, offset=20, scale=1.2
    TEXT = Fabrication Materials
END
    # A sample weld report
REPORT = WELD
  include  = IE_TYPE = CT_WELD
  COLUMN   = 5:C:WELDID
  COLUMN   = 10:R:SIZE
  COLUMN   = 10::TYPE

  # the next two columns list the pipe/fitting connected by the weld. 
  COLUMN   = 30:W:left(EC_CLASS)
  COLUMN   = 30:W:right(EC_CLASS)
  SORT = WELDID:N
END